1、题干
二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。
示例1:
 输入:0.625
 输出:"0.101"
示例2:
 输入:0.1
 输出:"ERROR"
 提示:0.1无法被二进制准确表示
提示:
- 32位包括输出中的 
"0."这两位。 - 题目保证输入用例的小数位数最多只有 
6位 
2、思路1-数学模拟
将小数 num 倍乘 2,所得结果的整数部分累加到结果字符串,小数部分赋值给 num,循环上述操作直至 32 次或 num 为 0
3、代码
function printBin(num: number): string {
    let ans = '0.'
    while (num && ans.length <= 32) {
        num = num * 2;
        const k = num % 2 >> 0;
        ans += k;
        num -= k;
    }
    return ans.length > 32 ? 'ERROR' : ans;
};
4、复杂度
- 时间复杂度:
 - 空间复杂度:
 
5、执行结果

6、思路2-API
调用内置API toString 实现
7、代码
function printBin(num: number): string {
    const ans = num.toString(2);
    return ans.length > 32 ? 'ERROR' : ans;
};
8、执行结果
